170 research outputs found
Enabling Cross-Event Optimization in Discrete-Event Simulation Through Compile-Time Event Batching
A discrete-event simulation (DES) involves the execution of a sequence of
event handlers dynamically scheduled at runtime. As a consequence, a priori
knowledge of the control flow of the overall simulation program is limited. In
particular, powerful optimizations supported by modern compilers can only be
applied on the scope of individual event handlers, which frequently involve
only a few lines of code. We propose a method that extends the scope for
compiler optimizations in discrete-event simulations by generating batches of
multiple events that are subjected to compiler optimizations as contiguous
procedures. A runtime mechanism executes suitable batches at negligible
overhead. Our method does not require any compiler extensions and introduces
only minor additional effort during model development. The feasibility and
potential performance gains of the approach are illustrated on the example of
an idealized proof-ofconcept model. We believe that the applicability of the
approach extends to general event-driven programs
Let It TEE: Asynchronous Byzantine Atomic Broadcast with n ≥ 2f + 1
Asynchronous Byzantine Atomic Broadcast (ABAB) promises, in comparison to partially synchronous approaches, simplicity in implementation, increased performance, and increased robustness. For partially synchronous approaches, it is well-known that small Trusted Execution Environments (TEE), e.g., MinBFT\u27s unique sequential identifier generator (USIG), are capable of reducing the communication effort while increasing the fault tolerance. For ABAB, the research community assumes that the use of TEEs increases performance and robustness. However, despite the existence of a fault-model compiler, a concrete TEE-based approach is not directly available yet. In this brief announcement, we show that the recently proposed DAG-Rider approach can be transformed to provide ABAB with processes, of which are faulty. We leverage MinBFT\u27s USIG to implement Reliable Broadcast with processes and show that the quorum-critical proofs of DAG-Rider still hold when adapting the quorum size to
On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types (Extended Version)
We uncover the extend-only directed posets (EDP) structure as a unification
of recently discussed DAG-based Byzantine-tolerant conflict-free replicated
data types (CRDT). We also show how a key-value map model can be derived from
the EDP formulation, and give an outlook on an EDP-based systemic access
control CRDT as a formalization of the CRDT used in the Matrix messaging
system.Comment: With the inclusion of an appendix of a formalization and CRDT proof
sketch of an EDP-based CRDT with systemic access control, this is an extended
version of the paper presented at the 10th Workshop on Principles and
Practice of Consistency for Distributed Data (PaPoC), 2023-05-08, Rome, Ital
On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types
We uncover the extend-only directed posets (EDP) structure as unification of recently discussed DAG-based Byzantine-tolerant conflict-free replicated data types (CRDT). We also derive an EDP-based key-value map, and give an outlook on an EDP-based systemic access control CRDT as formalization of the CRDT used in the Matrix messaging system
Do Payment Channel Networks Need a Blockchain? - Rethinking Blockchain Layers
One of the fundamental problems in designing digital currencies is the prevention of double-spends. The breakthrough of Bitcoin lies in its seminal idea to use a global blockchain to verify whether a coin has already been spent. Bitcoin’s approach to prevent double-spends, however, has the drawback that it does not scale in the number of transactions issued per second. To address this problem, current research explores building second layer architectures on top of the blockchain, such as payment channel networks. Although these architectures use a blockchain as their underlying layer, they need to solve the problem of preventing double-spends again. As it seems inefficient to solve the same problem multiple times, we explore whether payment channel networks with their way of preventing double-spends can be used to create an architecture for digital payments that is to some extent decentralized but does not require a blockchain as its underlying layer.
A payment channel requires from its underlying layer a way to lock a channel’s funds during the lifetime of the channel. Instead of locking funds on a blockchain, this can be implemented by depositing funds at a trusted third party who is trusted to make the funds available again upon channel closure. In our current financial system, users deposit money into their bank accounts and trust their bank to make these funds available upon request. Making use of this trust, we build on the ideas of Tremback et al. and propose an architecture for a payment channel network where banks, or similar entities, perform the role of the underlying blockchain. In this architecture, a bank provides each channel with a unique identifier and locks a channel’s funds. When one party closes the channel, the bank informs the other party. In case of dispute about the channel’s closing state, the bank has to decide which state is most current and close the channel accordingly. By connecting multiple payment channels, a payment channel network can be created, which allows for decentralized payments using traditional currencies. Similar to cash, single payments cannot be tracked by banks in this architecture. To prevent the architecture from attracting illegal activities, the capacity of payment channels could be limited to a maximum value. Compared to exchanging traditional currencies for cryptocurrencies to use a payment channel network, this architecture removes the cost of currency exchanges and the risk introduced by exchange rate fluctuations
Towards a Formal Verification of the Lightning Network with TLA+
Payment channel networks are an approach to improve the scalability of blockchain-based cryptocurrencies. Because payment channel networks are used for transfer of financial value, their security in the presence of adversarial participants should be verified formally. We formalize the protocol of the Lightning Network, a payment channel network built for Bitcoin, and show that the protocol fulfills the expected security properties. As the state space of a specification consisting of multiple participants is too large for model checking, we formalize intermediate specifications and use a chain of refinements to validate the security properties where each refinement is justified either by model checking or by a pen-and-paper proof
Verifying Payment Channels with TLA+
A payment channel protocol does not only have to provide the payment functionality, it also has to fulfill security guarantees such as ensuring that an honest party receives their correct balance. For complexity reasons, it is typically difficult to assess the security of such a protocol or to find counterexamples in insecure protocols. In this poster, we present an approach to specify functional as well as security properties for a payment channel protocol in TLA+ and show that a Lightning Network-style protocol fulfills the required properties. In case a counterexample is found, we provide protocol developers with a graphical and intuitive output. We present the challenges we faced and our approach to meeting these challenges
On Extend-Only Directed Posets and Derived Byzantine-Tolerant Replicated Data Types
We uncover the extend-only directed posets (EDP) structure as unification of recently discussed DAG-based Byzantine-tolerant conflict-free replicated data types (CRDT). We also derive an EDP-based key-value map, and give an outlook on an EDP-based systemic access control CRDT as formalization of the CRDT used in the Matrix messaging system
Brief Announcement: Let It TEE: Asynchronous Byzantine Atomic Broadcast with n ≥ 2f+1
Asynchronous Byzantine Atomic Broadcast (ABAB) promises simplicity in implementation as well as increased performance and robustness in comparison to partially synchronous approaches. We adapt the recently proposed DAG-Rider approach to achieve ABAB with n ≥ 2f+1 processes, of which f are faulty, with only a constant increase in message size. We leverage a small Trusted Execution Environment (TEE) that provides a unique sequential identifier generator (USIG) to implement Reliable Broadcast with n > f processes and show that the quorum-critical proofs still hold when adapting the quorum size to ⌊ n/2 ⌋ + 1. This first USIG-based ABAB preserves the simplicity of DAG-Rider and serves as starting point for further research on TEE-based ABAB
Report Dagstuhl Seminar 10402 - Working Group on Fundamental Limits and Opportunities
This working group investigated first steps towards finding a theoretical foundation for inter-vehicle communication. The main outcome is a sketch of a roadmap for future work in this direction
- …